package com.ruoyi.energy.service;

import com.ruoyi.energy.domain.vo.NyMeterAccountExcelVO;
import com.ruoyi.energy.domain.vo.NyMeterAccountVO;
import com.ruoyi.omp.api.domain.NyMeterAccount;

import java.util.List;

/**
 * 仪表台账Service接口
 *
 * @author cjie
 * @date 2021-07-29
 */
public interface INyMeterAccountService {
    /**
     * 查询仪表台账
     *
     * @param id 仪表台账ID
     * @return 仪表台账
     */
     NyMeterAccount selectNyMeterAccountById(String id);

    /**
     * 查询仪表台账列表
     *
     * @param nyMeterAccount 仪表台账
     * @return 仪表台账集合
     */
     List<NyMeterAccount> selectNyMeterAccountList(NyMeterAccount nyMeterAccount);

    /**
     * 查询私表
     *
     * @param nyMeterAccount 总表
     * @return 私表集合
     */
    List<NyMeterAccount> selectPrivateNyMeterList(NyMeterAccount nyMeterAccount);
    /**
     * 新增仪表台账
     *
     * @param nyMeterAccount 仪表台账
     * @return 结果
     */
     int insertNyMeterAccount(NyMeterAccount nyMeterAccount);

    /**
     * 修改仪表台账
     *
     * @param nyMeterAccount 仪表台账
     * @return 结果
     */
     int updateNyMeterAccount(NyMeterAccount nyMeterAccount);

    /**
     * 批量删除仪表台账
     *
     * @param ids 需要删除的仪表台账ID
     * @return 结果
     */
     int deleteNyMeterAccountByIds(String[] ids);

    /**
     * 删除仪表台账信息
     *
     * @param id 仪表台账ID
     * @return 结果
     */
     int deleteNyMeterAccountById(String id);

    /**
     * 构造节点树
     * @param id
     * @return
     */
     //NyMeterAccountVO selectRoot(String id);

     //获取所有叶子节点，私表数据
    //List<NyMeterAccountVO> selectPrivateLeafs(NyMeterAccountVO parent);

    String importData(List<NyMeterAccountExcelVO> buiRoomVOList,String meterType);

    NyMeterAccountVO selectRoot(String id);
}
